<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Protocols  Reference</title>
    <link rel="stylesheet" type="text/css" href="css/jazzy.css" />
    <link rel="stylesheet" type="text/css" href="css/highlight.css" />
    <meta charset='utf-8'>
    <script src="js/jquery.min.js" defer></script>
    <script src="js/jazzy.js" defer></script>
    
  </head>
  <body>
    <a name="//apple_ref/swift/Section/Protocols" class="dashAnchor"></a>
    <a title="Protocols  Reference"></a>
    <header>
      <div class="content-wrapper">
        <p><a href="index.html">NextLevel Docs</a> (62% documented)</p>
        <p class="header-right"><a href="https://github.com/NextLevel/NextLevel"><img src="img/gh.png"/>View on GitHub</a></p>
      </div>
    </header>
    <div class="content-wrapper">
      <p id="breadcrumbs">
        <a href="index.html">NextLevel Reference</a>
        <img id="carat" src="img/carat.png" />
        Protocols  Reference
      </p>
    </div>
    <div class="content-wrapper">
      <nav class="sidebar">
        <ul class="nav-groups">
          <li class="nav-group-name">
            <a href="Classes.html">Classes</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="Classes/NextLevel.html">NextLevel</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelARConfiguration.html">NextLevelARConfiguration</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelAudioConfiguration.html">NextLevelAudioConfiguration</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelBufferRenderer.html">NextLevelBufferRenderer</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelClip.html">NextLevelClip</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelConfiguration.html">NextLevelConfiguration</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelConfiguration/AspectRatio.html">– AspectRatio</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelGIFCreator.html">NextLevelGIFCreator</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelPhotoConfiguration.html">NextLevelPhotoConfiguration</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelSession.html">NextLevelSession</a>
              </li>
              <li class="nav-group-task">
                <a href="Classes/NextLevelVideoConfiguration.html">NextLevelVideoConfiguration</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="Global Variables.html">Global Variables</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB15ClipFilenameKeySSvp">NextLevelClipFilenameKey</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB15ClipInfoDictKeySSvp">NextLevelClipInfoDictKey</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB11ErrorDomainSSvp">NextLevelErrorDomain</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB19PhotoCroppedJPEGKeySSvp">NextLevelPhotoCroppedJPEGKey</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB12PhotoJPEGKeySSvp">NextLevelPhotoJPEGKey</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB16PhotoMetadataKeySSvp">NextLevelPhotoMetadataKey</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB16PhotoRawImageKeySSvp">NextLevelPhotoRawImageKey</a>
              </li>
              <li class="nav-group-task">
                <a href="Global Variables.html#/s:9NextLevel0aB17PhotoThumbnailKeySSvp">NextLevelPhotoThumbnailKey</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="Enums.html">Enumerations</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="Enums/NextLevelAuthorizationStatus.html">NextLevelAuthorizationStatus</a>
              </li>
              <li class="nav-group-task">
                <a href="Enums/NextLevelCaptureMode.html">NextLevelCaptureMode</a>
              </li>
              <li class="nav-group-task">
                <a href="Enums/NextLevelDeviceType.html">NextLevelDeviceType</a>
              </li>
              <li class="nav-group-task">
                <a href="Enums/NextLevelError.html">NextLevelError</a>
              </li>
              <li class="nav-group-task">
                <a href="Enums/NextLevelMirroringMode.html">NextLevelMirroringMode</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="Extensions.html">Extensions</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureConnection.html">AVCaptureConnection</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureDevice.html">AVCaptureDevice</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureDevice/Format.html">– Format</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureDevice/Position.html">– Position</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureDevice/WhiteBalanceGains.html">– WhiteBalanceGains</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureDeviceInput.html">AVCaptureDeviceInput</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/AVCaptureVideoOrientation.html">AVCaptureVideoOrientation</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/CIContext.html">CIContext</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/CMSampleBuffer.html">CMSampleBuffer</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/Comparable.html">Comparable</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/Data.html">Data</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/Date.html">Date</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/FileManager.html">FileManager</a>
              </li>
              <li class="nav-group-task">
                <a href="Extensions/UIImage.html">UIImage</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="Protocols.html">Protocols</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="Protocols/NextLevelDelegate.html">NextLevelDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols.html#/NextLevelDepthDataDelegate">NextLevelDepthDataDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelDeviceDelegate.html">NextLevelDeviceDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelFlashAndTorchDelegate.html">NextLevelFlashAndTorchDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelMetadataOutputObjectsDelegate.html">NextLevelMetadataOutputObjectsDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelPhotoDelegate.html">NextLevelPhotoDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelPortraitEffectsMatteDelegate.html">NextLevelPortraitEffectsMatteDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelPreviewDelegate.html">NextLevelPreviewDelegate</a>
              </li>
              <li class="nav-group-task">
                <a href="Protocols/NextLevelVideoDelegate.html">NextLevelVideoDelegate</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="Typealiases.html">Type Aliases</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB17DeviceOrientationa">NextLevelDeviceOrientation</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB14DevicePositiona">NextLevelDevicePosition</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB12ExposureModea">NextLevelExposureMode</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB9FlashModea">NextLevelFlashMode</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB9FocusModea">NextLevelFocusMode</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB9TorchModea">NextLevelTorchMode</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB22VideoStabilizationModea">NextLevelVideoStabilizationMode</a>
              </li>
              <li class="nav-group-task">
                <a href="Typealiases.html#/s:9NextLevel0aB16WhiteBalanceModea">NextLevelWhiteBalanceMode</a>
              </li>
            </ul>
          </li>
        </ul>
      </nav>
      <article class="main-content">
        <section>
          <section class="section">
            <h1>Protocols</h1>
            <p>The following protocols are available globally.</p>

          </section>
          <section class="section task-group-section">
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelDelegate">
                  <h3 class="section-name">NextLevelDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB8DelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB8DelegateP">NextLevelDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>NextLevel delegate, provides updates for authorization, configuration changes, session state, preview state, and mode changes.</p>

                        <a href="Protocols/NextLevelDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB15PreviewDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelPreviewDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB15PreviewDelegateP">NextLevelPreviewDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Preview delegate, provides update for</p>

                        <a href="Protocols/NextLevelPreviewDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelPreviewDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB14DeviceDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelDeviceDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB14DeviceDelegateP">NextLevelDeviceDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Device delegate, provides updates on device position, orientation, clean aperture, focus, exposure, and white balances changes.</p>

                        <a href="Protocols/NextLevelDeviceDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelDeviceDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelFlashAndTorchDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelFlashAndTorchDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelFlashAndTorchDelegate">
                  <h3 class="section-name">NextLevelFlashAndTorchDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB21FlashAndTorchDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelFlashAndTorchDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB21FlashAndTorchDelegateP">NextLevelFlashAndTorchDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Flash and torch delegate, provides updates on active flash and torch related changes.</p>

                        <a href="Protocols/NextLevelFlashAndTorchDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelFlashAndTorchDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelVideoDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelVideoDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelVideoDelegate">
                  <h3 class="section-name">NextLevelVideoDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB13VideoDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelVideoDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB13VideoDelegateP">NextLevelVideoDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Video delegate, provides updates on video related recording and capture functionality.
All methods are called on the main queue with the exception of nextLevel:renderToCustomContextWithSampleBuffer:onQueue.</p>

                        <a href="Protocols/NextLevelVideoDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelVideoDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelPhotoDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelPhotoDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelPhotoDelegate">
                  <h3 class="section-name">NextLevelPhotoDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB13PhotoDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelPhotoDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB13PhotoDelegateP">NextLevelPhotoDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Photo delegate, provides updates on photo related capture functionality.</p>

                        <a href="Protocols/NextLevelPhotoDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelPhotoDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelDepthDataDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelDepthDataDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelDepthDataDelegate">
                  <h3 class="section-name">NextLevelDepthDataDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelDepthDataDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/">NextLevelDepthDataDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Depth data delegate, provides depth data updates</p>

                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelPortraitEffectsMatteDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelPortraitEffectsMatteDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelPortraitEffectsMatteDelegate">
                  <h3 class="section-name">NextLevelPortraitEffectsMatteDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB28PortraitEffectsMatteDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelPortraitEffectsMatteDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB28PortraitEffectsMatteDelegateP">NextLevelPortraitEffectsMatteDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Portrait Effects Matte delegate, provides portrait effects matte updates</p>

                        <a href="Protocols/NextLevelPortraitEffectsMatteDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelPortraitEffectsMatteDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/NextLevelMetadataOutputObjectsDelegate"></a>
                <a name="//apple_ref/swift/Section/NextLevelMetadataOutputObjectsDelegate" class="dashAnchor"></a>
                <a href="#/NextLevelMetadataOutputObjectsDelegate">
                  <h3 class="section-name">NextLevelMetadataOutputObjectsDelegate</h3>
                </a>
              </div>
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:9NextLevel0aB29MetadataOutputObjectsDelegateP"></a>
                    <a name="//apple_ref/swift/Protocol/NextLevelMetadataOutputObjectsDelegate" class="dashAnchor"></a>
                    <a class="token" href="#/s:9NextLevel0aB29MetadataOutputObjectsDelegateP">NextLevelMetadataOutputObjectsDelegate</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Metadata Output delegate, provides objects like faces and barcodes</p>

                        <a href="Protocols/NextLevelMetadataOutputObjectsDelegate.html" class="slightly-smaller">See more</a>
                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">NextLevelMetadataOutputObjectsDelegate</span> <span class="p">:</span> <span class="kt">AnyObject</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
          </section>
        </section>
        <section id="footer">
          <p>&copy; 2019 <a class="link" href="http://nextlevel.engineering" target="_blank" rel="external">Patrick Piemonte</a>. All rights reserved. (Last updated: 2019-05-21)</p>
          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
        </section>
      </article>
    </div>
  </body>
</div>
</html>
